# GCJ-02
# 是由中国国家测绘局制订的地理信息系统的坐标系统。
# 它是一种对经纬度数据的加密算法，即加入随机的偏差。
# 国内出版的各种地图系统（包括电子形式），必须至少采用GCJ-02
# 对地理位置进行首次加密。
# 注 :1)谷歌，腾讯，高德都在用这个坐标体系。
# 2)百度和搜狗就使用自己的坐标体系，与其他坐标体系不兼容。

#BD-09 to GCJ-02
import numpy as np

PI = 3.14159265358979324
x_pi = 3.14159265358979324 * 3000.0 / 180.0

def bd_decrypt (bdLat, bdLon):
    x = bdLon - 0.0065
    y = bdLat - 0.006
    z = np.sqrt(x * x + y * y) - 0.00002 * np.sin(y * x_pi)
    theta = np.arctan2(y, x) - 0.000003 * np.cos(x * x_pi)
    gcjLon = z * np.cos(theta)
    gcjLat = z * np.sin(theta)
    return gcjLat,gcjLon


print(bd_decrypt(115.876835,38.580902))
